﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ENT.GP.Core.Lookup;
using ENT.GP.Core;
using ENT.GP.Core.Proyecto;
using entgp.Code;
using Ext.Net;
using System.Configuration;

public partial class Reportes_WiewProyecto : PaginasUsuario
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
         

            EstadoProyectoLookup.InvalidateCache();
            TipoLookup.InvalidateCache();
            EjesLookup.InvalidateCache();
            ProgramaLookup.InvalidateCache();
            StoreEstado.DataSource = EstadoProyectoLookup.GetNameValueList(this.IdEmp);
            StoreEstado.DataBind();
            StoreTipo.DataSource = TipoLookup.GetNameValueList(this.IdEmp);
            StoreTipo.DataBind();
            StoreEje.DataSource = EjesLookup.GetNameValueList(this.IdEmp);
            StoreEje.DataBind();
            StoreProgramas.DataSource = ProgramaLookup.GetNameValueList(this.IdEmp);
            StoreProgramas.DataBind();
        }
    }
    protected void StoreRefresh(object sender, StoreRefreshDataEventArgs e)
    {
        ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
        var vCbxProgramas = e.Parameters["cbxProgramas_bprm"];
        int iCbxProgramas = 0;
        var vCbxEje = e.Parameters["cbxEje_bprm"];
        int iCbxEje = 0;
        var vCbxCategorias = e.Parameters["cbxCategorias_bprm"];
        int iCbxCategorias = 0;
        var vCbxEstado = e.Parameters["cbxEstado_bprm"];
        int iCbxEstado = 0;

        int.TryParse(vCbxProgramas, out iCbxProgramas);
        int.TryParse(vCbxEje, out iCbxEje);
        int.TryParse(vCbxCategorias, out iCbxCategorias);
        int.TryParse(vCbxEstado, out iCbxEstado);

        criterio.ProgramaId = iCbxProgramas;
        criterio.EjeId = iCbxEje;
        criterio.TipoId = iCbxCategorias;
        criterio.EstadoId = iCbxEstado;

        criterio.Nombre = e.Parameters["txtNombrePrograma_bprm"];
        criterio.IdEmpresa = this.IdEmp;
        StoreProyectos.DataSource = ProyectoLista.GetProyectoLista(criterio);
        StoreProyectos.DataBind();
    }
    /*
    protected void btnBuscar_Click(object sender, DirectEventArgs e)
    {
        try
        {
            ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
            if (cbxProgramas.SelectedIndex == -1)
                criterio.ProgramaId = 0;
            else
                criterio.ProgramaId = Convert.ToInt32(cbxProgramas.SelectedItem.Value);

            if (cbxEje.SelectedIndex == -1)
                criterio.EjeId = 0;
            else
                criterio.EjeId = Convert.ToInt32(cbxEje.SelectedItem.Value);

            if (cbxCategorias.SelectedIndex == -1)
                criterio.TipoId = 0;
            else
                criterio.TipoId = Convert.ToInt32(cbxCategorias.SelectedItem.Value);

            if (cbxEstado.SelectedIndex == -1)
                criterio.EstadoId = 0;
            else
                criterio.EstadoId = Convert.ToInt32(cbxEstado.SelectedItem.Value);

            criterio.Nombre    = txtNombrePrograma.Text;
            criterio.IdEmpresa = this.IdEmp;

            StoreProyectos.DataSource = ProyectoLista.GetProyectoLista(criterio);
            StoreProyectos.DataBind();
        }
        catch { }
    }   
    */
    protected void Editar_Click(object sender, DirectEventArgs e)
    {
        try
        {
            int idP;
            int.TryParse(e.ExtraParams["id"], out idP);
            string urlUbicacion;
            urlUbicacion = string.Format("{0}Reportes/Reporte.aspx?IdProy={1}", ConfigurationManager.AppSettings.Get("PathServer"), idP);                
            winReporteP.LoadContent(urlUbicacion);
            winReporteP.Show();
        }
        catch (Exception ex)
        {
            X.Msg.Show(new MessageBoxConfig
            {
                Buttons = MessageBox.Button.OK,
                Icon = MessageBox.Icon.ERROR,
                Title = "Fallo",
                Message = "Ocurrio un error"
            });
            System.Text.Encoding encod = System.Text.Encoding.UTF8;
            System.IO.FileStream log = System.IO.File.Open(ConfigurationManager.AppSettings.Get("PathLog"), System.IO.FileMode.Append);
            log.Write(encod.GetBytes(ex.Message), 0, encod.GetByteCount(ex.Message));
            log.Close();
        }
    }
}
